package cn.sciento.transfer.app.service;

import java.util.List;
import cn.sciento.transfer.domain.entity.ConsDbConfig;
import cn.sciento.transfer.infra.rocketmq.vo.MqMessage;
import org.springframework.jdbc.core.JdbcTemplate;

public interface ConsumerEventService {
  void saveMessageToDb(ConsDbConfig paramConsDbConfig, List<MqMessage> paramList, JdbcTemplate paramJdbcTemplate);
  
  void updateMessageStatus(ConsDbConfig paramConsDbConfig, MqMessage paramMqMessage, String paramString1, String paramString2, JdbcTemplate paramJdbcTemplate);
  
  boolean archMessageIfExists(ConsDbConfig paramConsDbConfig, MqMessage paramMqMessage, JdbcTemplate paramJdbcTemplate);
  
  List<MqMessage> loadNMsgListLargeThanEventId(ConsDbConfig paramConsDbConfig, MqMessage paramMqMessage, JdbcTemplate paramJdbcTemplate);
  
  List<MqMessage> loadNMsgListLessThanEventId(ConsDbConfig paramConsDbConfig, MqMessage paramMqMessage, JdbcTemplate paramJdbcTemplate);
  
  void moveMqMessageToArchTable(ConsDbConfig paramConsDbConfig, MqMessage paramMqMessage, JdbcTemplate paramJdbcTemplate);
  
  boolean checkMqMessageIsExpired(ConsDbConfig paramConsDbConfig, MqMessage paramMqMessage, JdbcTemplate paramJdbcTemplate);
  
  void errorHandler(MqMessage paramMqMessage, ConsDbConfig paramConsDbConfig, String paramString);
  
  boolean checkMsgInArch(ConsDbConfig paramConsDbConfig, MqMessage paramMqMessage, JdbcTemplate paramJdbcTemplate);
}
